package net.hn.hnms.biz.material.vo;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * Author: ly
 * 采购计划表
 */
@Data
@NoArgsConstructor
@ExcelIgnoreUnannotated
@EqualsAndHashCode(callSuper = false)
public class PurchasePlanVO implements Serializable {
    @ApiModelProperty(value = "主键ID")
    @TableId(type = IdType.ASSIGN_UUID)
    private String planId;
    @ApiModelProperty(value = "计划编码")
    private String planCode;
    @ApiModelProperty(value = "使用单位")
    private String department;
    @ApiModelProperty(value = "矿编码")
    private String mineCode;
    @ApiModelProperty(value = "矿名称")
    private String mineName;
    @ApiModelProperty(value = "项目ID")
    private String projectId;
    @ApiModelProperty(value = "项目名称")
    private String projectName;
    @ApiModelProperty(value = "项目类别")
    private String projectType;
    @ApiModelProperty(value = "计划类别 1:1季度计划 2:2季度计划 3:3季度计划 4:4季度计划 5年度计划 6:调整计划")
    private String planType;
    @ApiModelProperty(value = "计划级别")
    private String planLevel;
    @ApiModelProperty(value = "计划来源 1:1季度计划 2:2季度计划 3:3季度计划 4:4季度计划 5年度计划 6:调整计划")
    private String planSource;
    @ApiModelProperty(value = "计划来源编号")
    private String planSourceCode;
    @ApiModelProperty(value = "物资编码")
    private String materialCode;
    @ApiModelProperty(value = "物资名称")
    private String materialName;
    @ApiModelProperty(value = "规格型号")
    private String specificationModel;
    @ApiModelProperty(value = "华能物资编码")
    private String hnMaterialCode;
    @ApiModelProperty(value = "华能物资名称")
    private String hnMaterialName;
    @ApiModelProperty(value = "华能规格型号")
    private String hnSpecificationModel;
    @ApiModelProperty(value = "数量")
    private Integer quantity;
    @ApiModelProperty(value = "剩余待分配数量")
    private Integer unassignedQuantity;
    @ApiModelProperty(value = "单位")
    private String unit;
    @ApiModelProperty(value = "审批状态")
    @NotBlank(message = "审批状态不能为空")
    private String approvalState;
    @ApiModelProperty(value = "分配状态")
    @NotBlank(message = "分配状态不能为空")
    private String assignState;
    @ApiModelProperty(value = "临时物资编码")
    private String temporaryMaterialCode;
    @ApiModelProperty(value = "年度")
    private String year;
    @ApiModelProperty(value = "概算金额")
    private BigDecimal estimateAmount;
    @ApiModelProperty(value = "计划人")
    private String creator;
    @ApiModelProperty(value = "创建时间")
    @JsonFormat(
            pattern = "yyyy-MM-dd HH:mm:ss"
    )
    private Date createTime;
    @ApiModelProperty(value = "最后修改时间")
    @JsonFormat(
            pattern = "yyyy-MM-dd HH:mm:ss"
    )
    private Date updateTime;
    @ApiModelProperty(value = "删除标识 0正常 1删除")
    private String delFlag;
    @ApiModelProperty(value = "参考单价")
    private BigDecimal referenceUnitPrice;
    @ApiModelProperty(value = "含税单价")
    private BigDecimal unitPriceWithTax;

}









